<?php

include_once '../models/Deposito.php';
include_once '../models/Factura.php';
include_once '../models/PagoFactura.php';

class CtlDepositos {
    public function __construct($paramForm) {

        error_reporting(E_ERROR | E_WARNING | E_PARSE);

        switch ($paramForm['opcCtl']) {
            case 1: $this->registrarDeposito($paramForm);
                break;

        }
    }
    
    public function registrarDeposito ($paramForm) {
        
        //Verificamos que el cliente haya seleccionado un cliente
        if ($paramForm['idCliente'] != 0) {
            
            //Creamos un nuevo objeto de tipo Deposito
            $deposito = new Deposito($paramForm['idCliente'], $paramForm['fechaDeposito'], $paramForm['montoDepos'], $paramForm['descr']);
            
            //Si se fue posible el registro se retorna un mensaje de exito al usuario
            if ($deposito->registrar($deposito)) {
                echo "<h1>Se ha registrado el Deposito</h1>";
                
                $fac = new Factura(null, null, null, null);
                
                //Recuperamos el IdDeposito para relacionarlo con el PagoFactura y saber cuanto del Deposito va a determinada Factura
                $idDeposito = $deposito->getIdDeposito($deposito->idCliente, $deposito->fecha, $deposito->monto);
                
                $fac->abonarCantidadAFactu($paramForm['idCliente'], round($paramForm['montoDepos'], 2, PHP_ROUND_HALF_DOWN), 'D', $idDeposito);

                //De lo contrario se notifica del error
            } else {
                echo "<h1>Ha ocurrido un problema en el registro del Deposito</h1>";
            }
        } else {
            echo "<h1>Seleccione un cliente</h1>";
        }
    }
}

new CtlDepositos($_GET);
?>